home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / rts / signal.scm < prev    next >
Text File  |  1995-10-13  |  1KB  |  36 lines

  1. ; Copyright (c) 1993, 1994 Richard Kelsey and Jonathan Rees.  See file COPYING.
  2.  
  3.  
  4. ;;;; Signalling conditions
  5.  
  6. ; I don't like the term "signal," but that's the one Gnu Emacs Lisp,
  7. ; Common Lisp, and Dylan use, so it's probably best to stick with it.
  8.  
  9.  
  10. (define make-condition cons)
  11.  
  12. (define (signal type . stuff)
  13.   (signal-condition (make-condition type stuff)))
  14.  
  15. ; Warn
  16.  
  17. (define (warn message . irritants)
  18.   (signal-condition (make-condition 'warning (cons message irritants))))
  19.  
  20.  
  21. ; Syntax errors
  22.  
  23. (define (syntax-error . rest)  ; Must return a valid expression.
  24.   (signal-condition (make-condition 'syntax-error rest))
  25.   ''syntax-error)
  26.  
  27.  
  28. ; "Call error" - this means that the condition's "stuff" (cdr) is of
  29. ; the form (message procedure . args), and should be displayed appropriately.
  30. ; Proceeding from such an error should return the value that the call
  31. ; to the procedure on the args should have returned.
  32.  
  33. (define (call-error message proc . args)
  34.   (signal-condition (make-condition 'call-error
  35.                     (cons message (cons proc args)))))
  36.